#!/usr/bin/env python
# -*- coding: utf-8 -*-

from abc import ABCMeta, abstractmethod

from gj.ext.AnyWrapper import AnyWrapper



class EWrapper(AnyWrapper, metaclass=ABCMeta):
    """ generated source for interface EWrapper """
    # __metaclass__ = ABCMeta
    # /////////////////////////////////////////////////////////////////////
    #  Interface methods
    # /////////////////////////////////////////////////////////////////////

    @abstractmethod
    def tickPrice(self, tickerId, field, price, canAutoExecute):
        """ generated source for method tickPrice """

    @abstractmethod 
    def historicalData(self, reqId, row):
        # def historicalData(self, reqId, stock_code, time, open, high, low, close, volume,
        #                    amount, preclose,openinterest,settle,suspendflag):
        ''' 历史数据'''
    # @abstractmethod 
    # def historicalData(self, reqId, histdata,stock_code,stock_list,group_name,request):
    #     # def historicalData(self, reqId, stock_code, time, open, high, low, close, volume,
    #     #                    amount, preclose,openinterest,settle,suspendflag):
    #     ''' 历史数据'''

    @abstractmethod
    def quoteData(self, reqId, row):
        ''' 实时数据'''

    @abstractmethod
    def tickData(self, reqId, row):
        ''' 实时数据'''

    @abstractmethod
    def contractData(self, reqId, contract):
        ''' 合约数据'''
    @abstractmethod
    def managedAccounts(self, accountsList):
        ''' 管理账户'''
    @abstractmethod
    def accountStatusData(self, accountStatus):
        '''帐号状态 '''
    @abstractmethod
    def orderData(self, order):
        '''订单状态'''
    @abstractmethod
    def tradeData(self, trade):
        '''成交数据'''
   